#include "iot_i2c.h"
#include "iot_i2c_ex.h"
#include "iot_gpio.h"
#include "iot_gpio_ex.h"
#include "iot_pwm.h"

#define IOT_GPIO_KEY 5   //按键
#define LED_GPIO_IDX 6   // LED
#define MOTOR_PWM_PORT 2 //马达----
#define MOTOR_GPIO_IDX 2

#define I2C_SDA_GPIO_IDX 13
#define I2C_SCL_GPIO_IDX 14
#define SHT30_ADDR 0x44      //设备地址
#define WIFI_IOT_I2C_IDX_0 0

void Init()
{
    // LED端口初始化
    IoTGpioInit(LED_GPIO_IDX);
    IoTGpioSetFunc(LED_GPIO_IDX, IOT_GPIO_FUNC_GPIO_6_GPIO);
    IoTGpioSetDir(LED_GPIO_IDX, IOT_GPIO_DIR_OUT);

    //按键初始化
    IoTGpioInit(IOT_GPIO_KEY);
    IoTGpioSetDir(IOT_GPIO_KEY, IOT_GPIO_DIR_IN);
    hi_io_set_func(IOT_GPIO_KEY, 0);
    hi_io_set_pull(IOT_GPIO_KEY, 1);

    //电机端口初始化
    IoTGpioInit(MOTOR_GPIO_IDX);
    IoTGpioSetDir(MOTOR_GPIO_IDX, IOT_GPIO_DIR_OUT);
    IoTGpioSetFunc(MOTOR_GPIO_IDX, IOT_GPIO_FUNC_GPIO_2_PWM2_OUT);

    //PWM初始化
    IoTPwmInit(2);
    
    //I2C初始化
    IoTGpioInit(I2C_SDA_GPIO_IDX);
    IoTGpioSetFunc(I2C_SDA_GPIO_IDX, IOT_GPIO_FUNC_GPIO_13_I2C0_SDA); // GPIO_0复用为I2C1_SDA
    IoTGpioInit(I2C_SCL_GPIO_IDX);
    IoTGpioSetFunc(I2C_SCL_GPIO_IDX, IOT_GPIO_FUNC_GPIO_14_I2C0_SCL); // GPIO_1复用为I2C1_SCL
    IoTI2cInit(WIFI_IOT_I2C_IDX_0, 400000);
}
